package cn.wkj.mall.goods.mapper;



import cn.wkj.mall.goods.pojo.entity.Album;
import cn.wkj.mall.goods.pojo.vo.AlbumListItemVO;
import cn.wkj.mall.goods.pojo.vo.AlbumStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理相册数据的mapper接口
 * @author zhu
 * @version 0.0.1
 */
@Repository
public interface AlbumMapper {

    /**
     * 插入相册
     * @param album 相册对象
     * @return 受影响的行数
     */
    int insert(Album album);

    /**
     * 根据id删除相册
     * @param id  相册id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 根据id批量删除相册
     * @param ids 相册id 数组
     * @return 受影响的行数
     */
    int deleteByIds(Long... ids);

    /**
     * 更新相册数据
     * @param album 相册对象,必须封装有id
     * @return 受影响的行数
     */
    int update(Album album);

    /**
     * 查询相册的总数
     * @return 相册总数
     */
    int count();


    /**
     * 根据名称统计相册数量
     * @param name 相册名称
     * @return 统计数量
     */
    int countByName(String name);

    /**
     * 根据id获取相册详情
     * @param id 相册id
     * @return   相册详情
     */
    AlbumStandardVO getStandardVO(Long id);

    /**
     * 查询相册列表
     * @return 相册列表
     */
    List<AlbumListItemVO> list();



}
